\hypertarget{classsc2_1_1_action_imp}{}\section{sc2\+:\+:Action\+Imp Class Reference}
\label{classsc2_1_1_action_imp}\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
Inheritance diagram for sc2\+:\+:Action\+Imp\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classsc2_1_1_action_imp}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classsc2_1_1_action_imp_ae981eb4594b7513781cf94b28461407a}\label{classsc2_1_1_action_imp_ae981eb4594b7513781cf94b28461407a}} 
{\bfseries Action\+Imp} (\hyperlink{classsc2_1_1_proto_interface}{Proto\+Interface} \&proto)
\item 
\mbox{\Hypertarget{classsc2_1_1_action_imp_a936e32c30f50635fac3899b625361ad5}\label{classsc2_1_1_action_imp_a936e32c30f50635fac3899b625361ad5}} 
Game\+State\+Protocol\+::\+Request\+Action $\ast$ {\bfseries Get\+Request\+Action} ()
\item 
void \hyperlink{classsc2_1_1_action_imp_a633373febea0f4d74a2888932fa53733}{Unit\+Command} (uint64\+\_\+t unit\+\_\+tag, uint32\+\_\+t ability) override
\item 
void \hyperlink{classsc2_1_1_action_imp_a4b8557f67da3552d161d84f35e80f854}{Unit\+Command} (const \hyperlink{classsc2_1_1_unit}{Unit} \&unit, uint32\+\_\+t ability) override
\item 
void \hyperlink{classsc2_1_1_action_imp_ab4b1431197e8bf2339755756e30c3af2}{Unit\+Command} (uint64\+\_\+t unit\+\_\+tag, uint32\+\_\+t ability, const \hyperlink{structsc2_1_1_point2_d}{Point2D} \&point) override
\item 
void \hyperlink{classsc2_1_1_action_imp_a1ba75d04c3771eee8f97f8ac03eaafc1}{Unit\+Command} (const \hyperlink{classsc2_1_1_unit}{Unit} \&unit, uint32\+\_\+t ability, const \hyperlink{structsc2_1_1_point2_d}{Point2D} \&point) override
\item 
void \hyperlink{classsc2_1_1_action_imp_aba8628a8421f0e879efdb0c19018f7d6}{Unit\+Command} (uint64\+\_\+t unit\+\_\+tag, uint32\+\_\+t ability, uint64\+\_\+t target\+\_\+tag) override
\item 
void \hyperlink{classsc2_1_1_action_imp_adeb0b8dc66628da18902cbc39a292a4d}{Unit\+Command} (const \hyperlink{classsc2_1_1_unit}{Unit} \&unit, uint32\+\_\+t ability, uint64\+\_\+t target\+\_\+tag) override
\item 
void \hyperlink{classsc2_1_1_action_imp_a1edc0de46368f2c2edb79aa098727fb4}{Send\+Unit\+Commands} () override
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{classsc2_1_1_action_imp_a33cd09a38d62343c8fc4f3e22a698556}\label{classsc2_1_1_action_imp_a33cd09a38d62343c8fc4f3e22a698556}} 
\hyperlink{classsc2_1_1_proto_interface}{Proto\+Interface} \& {\bfseries proto\+\_\+}
\item 
\mbox{\Hypertarget{classsc2_1_1_action_imp_a14ccd751fb37ec0ec7a477b7bfc01fbf}\label{classsc2_1_1_action_imp_a14ccd751fb37ec0ec7a477b7bfc01fbf}} 
Game\+Request\+Ptr {\bfseries request\+\_\+actions\+\_\+}
\end{DoxyCompactItemize}


\subsection{Member Function Documentation}
\mbox{\Hypertarget{classsc2_1_1_action_imp_a1edc0de46368f2c2edb79aa098727fb4}\label{classsc2_1_1_action_imp_a1edc0de46368f2c2edb79aa098727fb4}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Send\+Unit\+Commands@{Send\+Unit\+Commands}}
\index{Send\+Unit\+Commands@{Send\+Unit\+Commands}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Send\+Unit\+Commands()}{SendUnitCommands()}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Send\+Unit\+Commands (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

This function sends out all batched unit commands. You DO N\+OT need to call this function in non real time simulations since it is automatically called when stepping the simulation forward. You only need to call this function in a real time simulation. For example, if you wanted to move 20 marines to some position on the map you\textquotesingle{}d want to batch all of those unit commands and send them at once. 

Implements \hyperlink{classsc2_1_1_action_interface_afcb1dd0c6fa8b4d19d8bf4ede94d38d4}{sc2\+::\+Action\+Interface}.

\mbox{\Hypertarget{classsc2_1_1_action_imp_a633373febea0f4d74a2888932fa53733}\label{classsc2_1_1_action_imp_a633373febea0f4d74a2888932fa53733}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Unit\+Command@{Unit\+Command}}
\index{Unit\+Command@{Unit\+Command}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Unit\+Command()}{UnitCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [1/6]}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Unit\+Command (\begin{DoxyParamCaption}\item[{uint64\+\_\+t}]{unit\+\_\+tag,  }\item[{uint32\+\_\+t}]{ability }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

Batches a Unit\+Command that will be dispatched when \hyperlink{classsc2_1_1_action_imp_a1edc0de46368f2c2edb79aa098727fb4}{Send\+Unit\+Commands()} is called. Unit\+Command has many overloaded functions, you can call it with most combinations of \hyperlink{classsc2_1_1_unit}{Unit} types (the \hyperlink{classsc2_1_1_unit}{Unit} object or tag), ability types (the enum or uint32\+\_\+t) and targets (a 2D position or tag). 
\begin{DoxyParams}{Parameters}
{\em unit\+\_\+tag} & The unique id that represents the unit. \\
\hline
{\em ability} & The unique id that represents the ability, see A\+B\+I\+L\+I\+T\+Y\+\_\+\+T\+Y\+PE for ids. \\
\hline
\end{DoxyParams}
\begin{DoxySeeAlso}{See also}
A\+B\+I\+L\+I\+T\+Y\+\_\+\+T\+Y\+PE \hyperlink{classsc2_1_1_unit}{Unit} \hyperlink{structsc2_1_1_point2_d}{Point2D} \hyperlink{classsc2_1_1_action_imp_a1edc0de46368f2c2edb79aa098727fb4}{Send\+Unit\+Commands()} 
\end{DoxySeeAlso}


Implements \hyperlink{classsc2_1_1_action_interface_ad9d9d772cdf29253b9dda5c7e7a3d836}{sc2\+::\+Action\+Interface}.

\mbox{\Hypertarget{classsc2_1_1_action_imp_a4b8557f67da3552d161d84f35e80f854}\label{classsc2_1_1_action_imp_a4b8557f67da3552d161d84f35e80f854}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Unit\+Command@{Unit\+Command}}
\index{Unit\+Command@{Unit\+Command}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Unit\+Command()}{UnitCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [2/6]}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Unit\+Command (\begin{DoxyParamCaption}\item[{const \hyperlink{classsc2_1_1_unit}{Unit} \&}]{unit,  }\item[{uint32\+\_\+t}]{ability }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Implements \hyperlink{classsc2_1_1_action_interface_acec9f59d4ec45fb47e420cf47e56da24}{sc2\+::\+Action\+Interface}.

\mbox{\Hypertarget{classsc2_1_1_action_imp_ab4b1431197e8bf2339755756e30c3af2}\label{classsc2_1_1_action_imp_ab4b1431197e8bf2339755756e30c3af2}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Unit\+Command@{Unit\+Command}}
\index{Unit\+Command@{Unit\+Command}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Unit\+Command()}{UnitCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [3/6]}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Unit\+Command (\begin{DoxyParamCaption}\item[{uint64\+\_\+t}]{unit\+\_\+tag,  }\item[{uint32\+\_\+t}]{ability,  }\item[{const \hyperlink{structsc2_1_1_point2_d}{Point2D} \&}]{point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Implements \hyperlink{classsc2_1_1_action_interface_a6f1e2d3904a5d7a71b93d43a8d21ee1a}{sc2\+::\+Action\+Interface}.

\mbox{\Hypertarget{classsc2_1_1_action_imp_a1ba75d04c3771eee8f97f8ac03eaafc1}\label{classsc2_1_1_action_imp_a1ba75d04c3771eee8f97f8ac03eaafc1}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Unit\+Command@{Unit\+Command}}
\index{Unit\+Command@{Unit\+Command}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Unit\+Command()}{UnitCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [4/6]}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Unit\+Command (\begin{DoxyParamCaption}\item[{const \hyperlink{classsc2_1_1_unit}{Unit} \&}]{unit,  }\item[{uint32\+\_\+t}]{ability,  }\item[{const \hyperlink{structsc2_1_1_point2_d}{Point2D} \&}]{point }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Implements \hyperlink{classsc2_1_1_action_interface_adf9fa75730cc180e02e33bb3e09dc15e}{sc2\+::\+Action\+Interface}.

\mbox{\Hypertarget{classsc2_1_1_action_imp_aba8628a8421f0e879efdb0c19018f7d6}\label{classsc2_1_1_action_imp_aba8628a8421f0e879efdb0c19018f7d6}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Unit\+Command@{Unit\+Command}}
\index{Unit\+Command@{Unit\+Command}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Unit\+Command()}{UnitCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [5/6]}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Unit\+Command (\begin{DoxyParamCaption}\item[{uint64\+\_\+t}]{unit\+\_\+tag,  }\item[{uint32\+\_\+t}]{ability,  }\item[{uint64\+\_\+t}]{target\+\_\+tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Implements \hyperlink{classsc2_1_1_action_interface_a93d2b02440e21de680f5594817040696}{sc2\+::\+Action\+Interface}.

\mbox{\Hypertarget{classsc2_1_1_action_imp_adeb0b8dc66628da18902cbc39a292a4d}\label{classsc2_1_1_action_imp_adeb0b8dc66628da18902cbc39a292a4d}} 
\index{sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}!Unit\+Command@{Unit\+Command}}
\index{Unit\+Command@{Unit\+Command}!sc2\+::\+Action\+Imp@{sc2\+::\+Action\+Imp}}
\subsubsection{\texorpdfstring{Unit\+Command()}{UnitCommand()}\hspace{0.1cm}{\footnotesize\ttfamily [6/6]}}
{\footnotesize\ttfamily void sc2\+::\+Action\+Imp\+::\+Unit\+Command (\begin{DoxyParamCaption}\item[{const \hyperlink{classsc2_1_1_unit}{Unit} \&}]{unit,  }\item[{uint32\+\_\+t}]{ability,  }\item[{uint64\+\_\+t}]{target\+\_\+tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [override]}, {\ttfamily [virtual]}}

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. 

Implements \hyperlink{classsc2_1_1_action_interface_a061ab6708eef070a4db22a286372b3b0}{sc2\+::\+Action\+Interface}.



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/sc2api/sc2\+\_\+agent.\+cc\end{DoxyCompactItemize}
